#pragma once

#include "Core/Core.h"
namespace Orange {

	struct FrameBufferSpecification {
		uint32_t width = 1280, height = 768;

		uint32_t sampler = 1;
		bool SwapChainTarget = false;
	};

	class FrameBuffer {
		public:
			virtual void Bind() = 0;
			virtual void UnBind() = 0;
			virtual void Resize(uint32_t width, uint32_t height) = 0;
			virtual const FrameBufferSpecification& GetSpecification() const = 0;
			virtual const uint32_t GetColorAttachment() const = 0;
			virtual void ClearAttachment(int value) = 0;
			static Ref<FrameBuffer> Create(const FrameBufferSpecification& spec);

	};
}